Home   Cover Cover Cover Cover
 

Klassen und Structs

Klassen sind Referenztypen, Structs sind Werttypen. Objekte von Klassen liegen am Heap, Objekte von Structs am Methoden-Stack (bzw. sind sie in andere Objekte eingebettet).

  • Structs sind leichtgewichtiger als Klassen, da sie den Garbage-Collector nicht belasten. Sie werden häufig für einfache Datenobjekte ohne Methoden eingesetzt, die außerdem nur temporär in einer Methode oder als Teil eines anderen Objekts verwendet werden. Structs können nicht durch Vererbung erweitert werden. Daher werden sie selten zum Aufbau komplexer Datenstrukturen verwendet.
  • Klassen werden häufig für komplexere Objekte mit Methoden verwendet sowie zum Aufbau dynamischer Datenstrukturen (Listen, Bäume und Graphen), die über Zeiger verkettet sind. Objekte von Klassen sind meist nicht nur lokal zu einer Methode, sondern sind Teil einer globalen Datenstruktur am Heap. Bei Klassen kann man Vererbung und dynamische Bindung voll nutzen.